function f_grad = f_grad_term(f, a_coef,tri, b_value, grad_b_value)
N = size(a_coef,1);
f_grad = zeros(N,3);
weights = [0.3333333333333;0.3333333333333;0.3333333333333];
for i = 1 : N %cell
    u_i = a_coef(i,:)*b_value;
    for l = 1 : 3 %basis
        f_gradb = zeros(1,3);
        for j = 1 : 3 %points
            %tmp_grad = grad_b_value(l,j,:);
            tmp_grad = zeros(2,1);
            tmp_grad(:,1) = grad_b_value(l,j,:);
            goal = tri(i).jti * tmp_grad;
            f_gradb(j) = f(u_i(j))*sum(goal);
            %disp(sum(grad_b_value(l,j,:)));
        end
        f_grad(i,l) = f_gradb*weights*tri(i).area;
    end
end
end